package com.system.core.security.enums;

public enum SignatureAlgorithmEnum {

	MD2WITHRSAENCRYPTION("MD2WITHRSAENCRYPTION","MD2WITHRSAENCRYPTION"),
	SHA1WITHECNR("SHA1WITHECNR","SHA1WITHECNR"),
	SHA1WITHRSA("SHA1WITHRSA","SHA1WITHRSA"),
	SHA512WITHRSA("SHA512WITHRSA","SHA512WITHRSA"),
	SHA512WITHRSA_PSS("SHA512WITHRSA/PSS","SHA512WITHRSA/PSS"),
	SHA512WITHECNR("SHA512WITHECNR","SHA512WITHECNR"),
	DSA("DSA","DSA"),
	SHA224WITHRSAENCRYPTION("SHA224WITHRSAENCRYPTION","SHA224WITHRSAENCRYPTION"),
	NONEWITHRSA("NONEWITHRSA","NONEWITHRSA"),
	SHA1WITHRSA_ISO9796_2("SHA1WITHRSA/ISO9796-2","SHA1WITHRSA/ISO9796-2"),
	SHA224WITHECDSA("SHA224WITHECDSA","SHA224WITHECDSA"),
	SHA512WITHECDSA("SHA512WITHECDSA","SHA512WITHECDSA"),
	RIPEMD128WITHRSAENCRYPTION("RIPEMD128WITHRSAENCRYPTION","RIPEMD128WITHRSAENCRYPTION"),
	SHA512WITHDSA("SHA512WITHDSA","SHA512WITHDSA"),
	SHA1WITHDSA("SHA1WITHDSA","SHA1WITHDSA"),
	SHA224WITHRSAPSS("SHA224WITHRSA/PSS","SHA224WITHRSA/PSS"),
	NONEWITHDSA("NONEWITHDSA","NONEWITHDSA"),
	RSA("RSA","RSA"),
	SHA384WITHDSA("SHA384WITHDSA","SHA384WITHDSA"),
	SHA224WITHDSA("SHA224WITHDSA","SHA224WITHDSA"),
	RIPEMD160WITHRSAENCRYPTION("RIPEMD160WITHRSAENCRYPTION","RIPEMD160WITHRSAENCRYPTION"),
	MD5WITHRSA("MD5WITHRSA","MD5WITHRSA"),
	SHA256WITHECNR("SHA256WITHECNR","SHA256WITHECNR"),
	ECGOST3410("ECGOST3410","ECGOST3410"),
	SHA256WITHRSA_PSS("SHA256WITHRSA/PSS","SHA256WITHRSA/PSS"),
	RAWRSASSA_PSS("RAWRSASSA-PSS","RAWRSASSA-PSS"),
	MD5ANDSHA1WITHRSA("MD5ANDSHA1WITHRSA","MD5ANDSHA1WITHRSA"),
	SHA224WITHRSA("SHA224WITHRSA","SHA224WITHRSA"),
	MD5WITHRSA_ISO9796_2("MD5WITHRSA/ISO9796-2","MD5WITHRSA/ISO9796-2"),
	SHA384WITHRSA("SHA384WITHRSA","SHA384WITHRSA"),
	SHA1WITHRSA_PSS("SHA1WITHRSA/PSS","SHA1WITHRSA/PSS"),
	SHA384WITHECDSA("SHA384WITHECDSA","SHA384WITHECDSA"),
	SHA384WITHRSA_PSS("SHA384WITHRSA/PSS","SHA384WITHRSA/PSS"),
	GOST3410("GOST3410","GOST3410"),
	RIPEMD160WITHECDSA("RIPEMD160WITHECDSA","RIPEMD160WITHECDSA"),
	SHA256WITHECDSA("SHA256WITHECDSA","SHA256WITHECDSA"),
	SHA224WITHCVC_ECDSA("SHA224WITHCVC-ECDSA","SHA224WITHCVC-ECDSA"),
	SHA384WITHRSAENCRYPTION("SHA384WITHRSAENCRYPTION","SHA384WITHRSAENCRYPTION"),
	ECDSA("ECDSA","ECDSA"),
	SHA256WITHRSA("SHA256WITHRSA","SHA256WITHRSA"),
	MD4WITHRSAENCRYPTION("MD4WITHRSAENCRYPTION","MD4WITHRSAENCRYPTION"),
	SHA1WITHCVC_ECDSA("SHA1WITHCVC-ECDSA","SHA1WITHCVC-ECDSA"),
	MD5WITHRSAENCRYPTION("MD5WITHRSAENCRYPTION","MD5WITHRSAENCRYPTION"),
	SHA256WITHCVC_ECDSA("SHA256WITHCVC-ECDSA","SHA256WITHCVC-ECDSA"),
	SHA512WITHRSAENCRYPTION("SHA512WITHRSAENCRYPTION","SHA512WITHRSAENCRYPTION"),
	RIPEMD160WITHRSA_ISO9796_2("RIPEMD160WITHRSA/ISO9796-2","RIPEMD160WITHRSA/ISO9796-2"),
	MD2WITHRSA("MD2WITHRSA","MD2WITHRSA"),
	SHA224WITHECNR("SHA224WITHECNR","SHA224WITHECNR"),
	SHA256WITHRSAENCRYPTION("SHA256WITHRSAENCRYPTION","SHA256WITHRSAENCRYPTION"),
	SHA256WITHDSA("SHA256WITHDSA","SHA256WITHDSA"),
	SHA1WITHECDSA("SHA1WITHECDSA","SHA1WITHECDSA"),
	SHA384WITHECNR("SHA384WITHECNR","SHA384WITHECNR"),
	NONEWITHECDSA("NONEWITHECDSA","NONEWITHECDSA"),
	RSASSA_PSS("RSASSA-PSS","RSASSA-PSS"),
	SHA1WITHRSAENCRYPTION("SHA1WITHRSAENCRYPTION","SHA1WITHRSAENCRYPTION"),
	RIPEMD256WITHRSAENCRYPTION("RIPEMD256WITHRSAENCRYPTION","RIPEMD256WITHRSAENCRYPTION");

	/**
	 * 获取全部枚举
	 * 
	 * @return List<SignatureAlgorithmEnum>
	 */
	public static java.util.List<SignatureAlgorithmEnum> getAllEnum() {
		java.util.List<SignatureAlgorithmEnum> list = new java.util.ArrayList<SignatureAlgorithmEnum>(values().length);
		for (SignatureAlgorithmEnum _enum : values()) {
			list.add(_enum);
		}
		return list;
	}
	/**
	 * 获取全部枚举值
	 * 
	 * @return List<String>
	 */
	public static java.util.List<String> getAllEnumCode() {
		java.util.List<String> list = new java.util.ArrayList<String>(values().length);
		for (SignatureAlgorithmEnum _enum : values()) {
			list.add(_enum.getCode());
		}
		return list;
	}

	public static SignatureAlgorithmEnum getEnumByMessage(String message) {
		if (message == null) {
			return null;
		}
		for (SignatureAlgorithmEnum _enum : values()) {
			if (_enum.getMessage().equalsIgnoreCase(message)) {
				return _enum;
			}
		}
		return null;
	}

	private String code;

	private String message;

	private SignatureAlgorithmEnum(String code, String message) {
		this.code = code;
		this.message = message;
	}

	public String getCode() {
		return code;
	}

	public String getMessage() {
		return message;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public void setMessage(String message) {
		this.message = message;
	}
}
